module.exports = (app) =>
  class BaseController {
    /**
     * 基类
     * */
    constructor() {
      this.app = app;
      this.config = app.config;
      //   this.service = app.service;
    }
    /**
     * Api 处理成功统一返回结构
     * @params {object} ctx 上下文
     * @params {object} data 核心数据
     * @params {object} metadata 附加数据
     * */
    success(ctx, data = {}, metadata = {}) {
      ctx.status = 200;
      ctx.body = {
        success: true,
        data: data,
        metadata,
      };
    }
    /**
     * Api 处理失败统一返回结构
     * @params {object} ctx 上下文
     * @params {object} message 错误信息
     * @params {object} code 错误马
     * */
    fail(ctx, message = "", code = "") {
      ctx.body = {
        success: false,
        message,
        code,
      };
    }
  };
